/**
 *
 * @properties={typeid:24,uuid:"F684A587-8112-4BB0-807D-1495AC5BAF87"}
 */
function cancelar() 
{
	databaseManager.revertEditedRecords()
	Iniciar();
}

/**
 *
 * @properties={typeid:24,uuid:"0DDC4E67-4DF3-4480-B529-C2814B427409"}
 */
function confirmar() 
{
	// totalizar()   
	totales_comprob();
 		
	var dife_abs = Math.abs(globals.gtotal_debitos - globals.gtotal_creditos)
	if (dife_abs > 0.009)
	{
 		globals.DIALOGS.showWarningDialog('Aviso',"No coincide el total de débitos y créditos ingresados",'OK')
		return false; 
	}
 	if (globals.gtotal_creditos!=globals.gtotal_debitos)
	{
		globals.DIALOGS.showWarningDialog('Aviso','No coinciden los totales','OK')
		return false;	
	}
    importe = globals.gtotal_creditos; 
		
////restar al saldo el importe de la imputacion de cada comprobante y desmarcar ctacte
    var found = imput_cabecera_to_imput_detalle.getSize()
    for (var i = 1 ; i <= found; i++)
    {    	 
     	imput_cabecera_to_imput_detalle.setSelectedIndex(i);
     	imput_cabecera_to_imput_detalle.imput_detalle_to_ctacte_pr.marcado_ctacte = 0;        
     	imput_cabecera_to_imput_detalle.imput_detalle_to_ctacte_pr.saldo += forms.imput_pr_1.imput_cabecera_to_imput_detalle.importe
    }

    var estado = databaseManager.saveData()
	if (estado == true)
	{
		databaseManager.refreshRecordFromDatabase(foundset,0)
		databaseManager.refreshRecordFromDatabase(foundset.imput_cabecera_to_imput_detalle,-1)
		databaseManager.refreshRecordFromDatabase(foundset.imput_cabecera_to_imput_detalle.imput_detalle_to_ctacte_pr,-1)
		globals.DIALOGS.showInfoDialog('Aviso', 'Desimputación generada'  ,  "OK")
		Iniciar()
	}
	else
	{
		globals.DIALOGS.showWarningDialog('Aviso','Desimputación no fue generada' ,  "OK")
		cancelar()			
	}
	return true
}

/**
 *
 * @properties={typeid:24,uuid:"51B51AA2-4B15-4418-9D46-4BE1C2489D1F"}
 */
function Iniciar() 
{
	databaseManager.setAutoSave(false); // 25/08/2010
	controller.newRecord(false);
	fecha = application.getServerTimeStamp();
	globals.gFechaAux=fecha;     
	
	globals.titulos_resumen();
	
	globals.gtotal_comprob=0
	globals.gtotal_creditos=0
	globals.gtotal_debitos=0

}

/**
 *
 * @properties={typeid:24,uuid:"F3EFFD8E-77A4-45CD-9226-57C8D5E89CE0"}
 */
function totales_comprob() 
{
	globals.gtotal_comprob	= 0
	globals.gtotal_creditos	= 0
	globals.gtotal_debitos	= 0
	var auxiliar_saldo		= 0
	for ( var i = 1 ; i <= imput_cabecera_to_imput_detalle.getSize(); i++ )
	{     
		imput_cabecera_to_imput_detalle.setSelectedIndex(i)
		if(imput_cabecera_to_imput_detalle.imput_detalle_to_tab_mov_pr.d_h == 1)
		{
			globals.gtotal_creditos += imput_cabecera_to_imput_detalle.importe
			auxiliar_saldo = imput_cabecera_to_imput_detalle.importe *(-1) 
		}
		else
		{
			globals.gtotal_debitos += imput_cabecera_to_imput_detalle.importe
			auxiliar_saldo = imput_cabecera_to_imput_detalle.importe 
		}
		globals.gtotal_comprob += auxiliar_saldo
	}
}

/**
 * @returns {Boolean} valid value
 *
 * @properties={typeid:24,uuid:"961F9042-78B4-470C-A501-88F7AACF1F99"}
 */
function elige_proveedor() 
{
	globals.gtotal_saldo	= 0   // usado para la diferencia
	globals.gtotal_comprob	= 0
	globals.gtotal_creditos	= 0
	globals.gtotal_debitos	= 0
	
	// salvar_proveedor: porque perdia en codigo de proveedor en el newRecord
	var salvar_proveedor = proveedor_id
	// rollback: porque al cambiar de proveedor dejaba los movs. del anterior
	databaseManager.revertEditedRecords()
	// newRecord: porque al traia datos de la ultima op de ese proveedor en vez de crear uno
	controller.newRecord(false);
	// perdia la fecha y letra seteadas en Iniciar() despues de newRecord
	fecha 					= application.getServerTimeStamp()  
	proveedor_id			= salvar_proveedor
	globals.gProveedorDesde	= proveedor_id
	globals.marca_primer_find = 0   // ?
	globals.marca_primer_find_1 = 0  // ?
	return true
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"688822E6-1369-4C27-9AB0-9E4D82CB6289"}
 */
function agregar_renglon(event) 
{
	if(proveedor_id==null)  // no ir a ctacte sin el proveedor
	{
		globals.DIALOGS.showWarningDialog('Aviso',"Debe informar Proveedor",'OK')
		elements.proveedor_id.requestFocus();
	}
	else
	{
		// llamar al otro form para seleccionar los mov. de ctacte.
		globals.formEnVentana('imput_pr_inv_3','imput_ctacte','Comprobantes a desimputar')
		// vuelve del anterior form con las columnas de imput_detalle dadas de alta con los datos de los mov. de ctacte marcados
	} 
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"8B84B4D8-F977-47FD-A824-B2983ACC3FFD"}
 */
function eliminar_renglon(event) 
{
	var found = imput_cabecera_to_imput_detalle.getSize()
	if (found!=0)
	{
		var resp = globals.DIALOGS.showQuestionDialog( 'Confirma',  '¿Seguro que desea dar de baja? ',  'Si', 'No')
		if (resp == 'Si')
		{
			imput_cabecera_to_imput_detalle.imput_detalle_to_ctacte_pr.marcado_ctacte=0;
			imput_cabecera_to_imput_detalle.deleteRecord()
			totales_comprob() 
		}
	}
}
